﻿using System;
using System.Collections.Generic;
using Tycho.Parser.Peg;

namespace Tycho.Parser.Tests.Peg
{
    abstract class FakeParsingProduction : IProduction
    {
        public string Name { get; set; }

        public bool IsIncludedInErrors
        {
            get { throw new NotImplementedException(); }
        }

        public IErrorInformation ErrorInformation
        {
            get { throw new NotImplementedException(); }
        }

        public Dictionary<int, ParseResult> MemoTable
        {
            get { throw new NotImplementedException(); }
        }

        public Dictionary<int, ParseResult> GetMemoTable(char[] source)
        {
            throw new NotImplementedException();
        }

        public bool IsInfix
        {
            get { throw new NotImplementedException(); }
        }

        public bool IsLeftRecursive
        {
            get { throw new NotImplementedException(); }
        }

        public IInfixInformation InfixInformation
        {
            get { throw new NotImplementedException(); }
        }

        public ParseResult Parse(char[] source, int index, ParseContext context, string sourceString, ParseEnvironment parseEnvironment)
        {
            throw new NotImplementedException();
        }

        public abstract Yield Parse(char[] source, int index, ParseContext context, string sourceString, ParseEnvironment parseEnvironment, Func<ParseResult, Yield> continuation);
    }
}